1. Field
The present description relates to a method, system, and program for restoring data.
2. Description of Related Art
There are various known techniques for backing up data. These backup techniques are often implemented using a storage-management server which can store data “objects” in one or more locations often referred to as storage pools. A data object stored by the server may be a “file” which is a collection of data or information that has a name, typically referred to as the “filename” and is stored in a file system which organizes the files. There are a number of different types of files including data files, program files, text files, directory files, etc. Different types of files are used to store different types of information. For example, program files store programs, whereas text files store text. The storage-management server frequently uses a database for tracking information about the stored objects, including the attributes and locations of the objects in the storage pools.
The files to be backed up are usually located on one or more client stations coupled to the storage-management server over a network. One backup technique typically includes a “tape rotation” procedure, in which full, differential and incremental backups are made from a client station to a storage such as tape storage. Another approach which is used by some storage-management servers, such as the Tivoli Storage Manager™ (TSM™) product marketed by International Business Machines Corporation (IBM), utilizes a “progressive incremental” methodology, in which objects are backed up once from a client node and thereafter are typically not backed up again unless the object changes. In combination with the progressive incremental procedures, object-level policy rules may be used to control the retention time and the number of versions which are maintained for stored objects. For example, the storage-management server can be configured to retain an “active” version, that is, an object currently residing on the client node, and a specified number of inactive versions, that is, objects that once resided on the client node but have since been deleted or modified.
Should a user file originally stored on a client station become lost or corrupted, the backup copy of the file may be retrieved from the data storage subsystem and stored on the client station to replace the lost or corrupted file. In addition to user files, an “image” backup may also be performed which stores an image of the data stored on a “raw storage device.” As used herein, a “raw storage device” refers to one or more storage units such as one or more “volumes.”
In computers, a volume is an identifiable unit of data storage that is sometimes physically removable from the computer or storage system. In tape storage systems, a volume may be a tape cartridge or a tape reel). In other storage systems, a volume may be a removable hard disk. Each volume typically has a system unique name or number that allows it to be specified by a user. In some systems, a physical storage unit such as a magnetic disk drive may be divided into several separately identifiable volumes or separately identifiable partitions. Conversely, a volume may include more than one physical storage unit. For example, a Redundant Array of Independent Disks (RAID) volume may comprise several magnetic disk drives. Still further, the boundaries of a “logical volume” may not correspond to physical storage units. Instead, a logical volume may include storage units which are non-contiguous and may be scattered across several different physical storage units.
To prepare a storage device for storing files, the device is typically “formatted” by the operating system. For example, if the storage device is a magnetic disk drive, the operating system may test the disk sectors to identify and mark any bad sectors. In addition, the operating system typically creates a file system which usually includes a directory to organize files and an address table to locate the files stored within the disk drive. The file system directory and address table are typically stored within the storage device itself. Thus, if the formatted storage device is a volume, the file system directory and address table information identifying the location of the files are typically within the volume along with the user files stored within the volume.
When performing an image backup of a raw storage device such as a volume, typically, the entire contents of the volume is read and stored by the storage-management server as image data representing the entire contents of the volume. Thus, the contents stored as image data include not just the files stored within the volume but also any file system including the file directories and address tables of the volume. Should the user files or the file system stored on the source volume become corrupted or lost, the image data stored by the storage-management server may then be used to restore the entire contents of the source volume including the user files and file system, back to a target volume which may be the same source volume or a different volume of the same or larger size.
In addition to volumes, an image backup may be made of the contents of other types of raw storage devices including a disk slice or partition. A disk-shaped storage medium may be subdivided into physical portions, each of which is typically in the form of a concentric circle or track. Each track is typically divided into “sectors,” each sector often representing the smallest unit of storage that is addressable for a read or write operation. Typically, a sector is 512 bytes in length. Thus, data can be located by identifying the concentric track and sector in which the data is stored.
Further improvements in data storage and restoration may be useful in a variety of applications.